Tute (Week 5)
Table of Contents
1 Entailment
1.1 Question 1
Is the following claim \[\mbox{If}\ \varphi \not\models \psi \ \mbox{then}\ \varphi \models \neg \psi\]
- a true statement about propositional formulas?
- a true statement about predicate formulas?
- No it is not true, consider for example \(\varphi = p\) and \(\psi=q\) (where \(p\) and \(q\) are propositional variables). Then neither \(P \models Q\) nor \(P \models \neg Q\).
- Not true either. For example, let \(\varphi = (x = y)\) and \(\psi = (z = w)\).
1.2 Question 2
Show that the following is not valid: \[ \forall x (P(x) \rightarrow Q(x)) \quad \models \quad \exists x Q(x)\]
We need to find a model where the first formula holds but the second does not.
Consider a model \(\mathcal{M}\) where the domain has one element, where \(P^\mathcal{M} = \emptyset\) and \(Q^\mathcal{M} = \emptyset\). Then \([\![\forall x (P(x) \rightarrow Q(x))]\!]_\mathcal{M}\) holds (the implication becomes vacuously true). But \([\![\exists x Q(x)]\!]_\mathcal{M}\) does not.
1.3 Question 3
Show that the following is valid:
\[ \forall x P(x) \quad \models \quad \exists x P(x)\]
We can use natural deduction: \[ \dfrac { \dfrac {\forall x P(x)} {P(c)} \forall\mbox{-E} } {\exists x P(x)} \exists\mbox{-I} \]
We could also try a direct semantic argument, but this is considerably more involved.
2 Limitations of first-order logic
2.1 Question 1
We can use predicate logic to talk about almost anything, by choosing an appropriate vocabulary. But we can't use it to talk about nothing, because we require a non-empty domain of discourse.
Why do you think this restriction exists?
Natural deduction becomes unsound for an empty domain of discourse. For example, consider \(\forall\mbox{-E}\): \[ \dfrac {\forall x P(x)} {P(c)} \]
If the domain of discourse is empty, the premise of this rule is vacuously true: everything in the domain of discourse does indeed satisfy \(P\). But the conclusion is false (or ill-formed, if you prefer): \(P(c)\) cannot hold because there is no \(c\).
You can use similar arguments to show breakdowns of useful logical laws. For example, the law \[ \exists x. \top \equiv \top \]
would fail in an empty domain of discourse.
2.2 Question 2
Recall the Peano axioms from the W3 tute. Can we do Peano arithmetic in first-order predicate logic? First, let our vocabulary include the constant symbol \({\tt Z}\) and the unary function symbol \({\tt S}\).
Let \(\varphi\) be a first-order predicate formula with this vocabulary.
- Suppose it is the case that \[\models \varphi\] Does it follow that \(\varphi\) is true in Peano arithmetic?
- Suppose it is the case that \[\not\models \varphi\] Does it follow that \(\varphi\) is false in Peano arithmetic?
Suppose I want to use FOL + the Peano axioms to prove \(\varphi\). Let's try to make a theory \(\mathcal{T}\) that includes the Peano axioms, so that we can prove \[\mathcal{T} \models \varphi\]
Write down a set of formulas that capture all but the last Peano axiom.
- For the last axiom, it unfortunately turns out that we can't write down a FOL formula that captures induction on arbitrary propositions such as \(\varphi\). Why not? Are there any workarounds?
- Yes. Peano arithmetic is one possible model of our vocabulary, and \(\models \varphi\) means that \(\varphi\) is true in every possible model (and environment).
- No. \(\not\models \varphi\) means that \(\varphi\) is false in at least one model, but it may still be true in Peano arithmetic. For example, the formula \({\tt S}({\tt Z}) = {\tt Z}\) is false in Peano arithmetic, but true in any model with a one-element domain of discourse.
The first two Peano axioms are more syntax than semantics, and hence do not require any FOL axioms. For example, "there is a number \({\tt Z}\)" follows immediately from the fact that \({\tt Z}\) is in the vocabulary. For axioms 3 and 4 we can do the following:
\begin{array}{l} \{\forall n(\neg({\tt S}(n) = {\tt Z})), \\ \ \ \forall n \forall m({\tt S}(n) = {\tt S}(m) \ \ \rightarrow\ \ n = m) \} \end{array}Using logical notation instead of set notation, the induction axiom can be stated as: \[\forall P((P({\tt Z}) \wedge \forall n(P(n) \rightarrow P({\tt S}(n)))) \rightarrow \forall n(P(n)))\] Unfortunately, the above is not a wff in first-order predicate logic! That's because first-order logic only allows quantification over (term) variables. \(P\), however, is not a term variable but a predicate symbol.
What we can do is add an infinite family of instances of the induction axiom to our theory. The idea is that for every wff \(\varphi(n)\), we add an axiom \[(\varphi({\tt Z}) \wedge \forall n(\varphi(n) \rightarrow \varphi({\tt S}(n)))) \rightarrow \forall n(\varphi(n))\] This approach allows us to do Peano arithmetic for most practical purposes, but will still not uniquely characterise Peano arithmetic: there will be other models that also satisfy these axioms. This is a bit beyond the scope of the course, but if you're interested in why, look up the compactness theorem and non-standard models of arithmetic. One place to start is here.
3 Predicate Natural Deduction
Give Natural Deduction proofs of the following:
- \(\vdash \forall x F(x) \vee \neg \forall x F(x)\)
- \(\vdash \forall x \exists y (Q(y) \rightarrow Q(x))\)
- \((m=n) \vee (n=o), A(n) \vdash A(m) \vee A(o)\)
- \(\exists x J(x), \exists x \neg J(x) \vdash \exists x \exists y \neg (x=y)\)
- This proof uses only the rules from the propositional fragment of ND (along with the derived rule LEM, which is not needed but simplifies matters) \[ \dfrac { \dfrac {[\forall x F(x)]} {\forall x F(x) \vee \neg \forall x F(x)}\mathord{\vee}\mbox{-I} \quad \dfrac {[\neg \forall x F(x)]} {\forall x F(x) \vee \neg \forall x F(x)}\mathord{\vee}\mbox{-I} } { \forall x F(x) \vee \neg \forall x F(x) }\mbox{LEM} \]
- \[ \dfrac { \dfrac { \dfrac {[Q(c)]} {Q(c) \rightarrow Q(c)} \mathord{\rightarrow}\mbox{-I} } {\exists y (Q(y) \rightarrow Q(c))} \mathord{\exists}\mbox{-I} } {\forall x \exists y (Q(y) \rightarrow Q(x))}\mathord{\forall}\mbox{-I} \]
- \[ \dfrac { (m = n) \vee (n = o) \ \dfrac { \dfrac{[m = n] \ A(n)} {A(m)}\mathord{=}\mbox{-E} } {A(m) \vee A(o)}\mathord{\vee}\mbox{-I} \ \dfrac { \dfrac{[n = o] \ A(n)} {A(o)}\mathord{=}\mbox{-E} } {A(m) \vee A(o)}\mathord{\vee}\mbox{-I} } { A(m) \vee A(o) }\mathord{\vee}\mbox{-E} \]
- \[ \dfrac { \exists x J(x) \quad \dfrac { \exists x \neg J(x) \ \dfrac { \dfrac { \dfrac{ \dfrac {[\neg J(d)] \ \dfrac{[c = d] \ [J(c)]} {J(d)}\mathord{=}\mbox{-E} } {\bot}\mathord{\neg}\mbox{-E} } {\neg (c=d)}\mathord{\neg}\mbox{-I} } {\exists y \neg (c=y)}\mathord{\exists}\mbox{-I} } {\exists x \exists y \neg (x=y)}\mathord{\exists}\mbox{-I} } {\exists x \exists y \neg (x=y)}\mathord{\exists}\mbox{-E} } { \exists x \exists y \neg (x=y) }\mathord{\exists}\mbox{-E} \]